/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bpmlab.shift.bean;

import bpmlab.shift.dao.DAOException;
import bpmlab.shift.dao.DAOFactory;
import bpmlab.shift.dao.service.GenericDAO;
import bpmlab.shift.entity.Localizacao;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author Mikael Lima
 */
@ManagedBean
@RequestScoped
public class LocalBean {

    private final GenericDAO<Localizacao> dao = DAOFactory.criarGenericDAO(Localizacao.class);
    private Localizacao local = new Localizacao();
    private List<Localizacao> locais;
    
    public String salvar() {
        try {
            dao.salvar(local);
            JsfUtil.mensagemSalvoComSucesso();
            return "/admin/local/lista-local.xhtml";
        } catch (DAOException ex) {
            JsfUtil.mensagemErroAoSalvar();
            return null;
        }
    }

    public void excluir() {
        try {
            dao.excluir(local);
            locais.remove(local);
            JsfUtil.mensagemRemovidoComSucesso();
        } catch (DAOException e) {
            JsfUtil.mensagemErroAoRemover();
        }
    }

    public List<Localizacao> getLocais() {
        if (locais == null) {
            locais = dao.obterTodos();
        }
        return locais;
    }
    
    public Localizacao getLocal() {
        return local;
    }

    public void setLocal(Localizacao local) {
        this.local = local;
    }
}
